using System.Collections.Generic;
using System.Threading.Tasks;
using OpenIddict.EntityFrameworkCore.Models;

namespace SageKing.OpenIddict.UI.Infrastructure;

public interface IApplicationService : IEntityPage<OpenIddictEntityFrameworkCoreApplication, ApplicationInfo>
{
    Task<IEnumerable<ApplicationInfo>> GetApplicationsAsync();

    Task<ApplicationInfo> GetAsync(string id);

    Task<string> CreateAsync(ApplicationParam model);

    Task UpdateAsync(ApplicationParam model);

    Task DeleteAsync(string id);
}
